[BCB] Jak w trzech linijkach pobrać aktywny adres wpisany w IE

Seigba

Aby przechwycić adres i tytuł strony z aktywnej przeglądarki internetowej (Internet Explorer lub Netscape Navigator) umieszczamy na formularzu komponenty: Label, Timer (zakładka System) i ddClientConv (zakładka System), ustawiamy właściwość Interval komponentu Timer na np. 500 i tworzymy dla niego zdarzenie OnTimer:

Unit1.cpp

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
  DdeClientConv1->SetLink("iexplore", "WWW_GetWindowInfo");
  Label1->Caption = DdeClientConv1->RequestData("0xFFFFFFFF, sURL, sTitle");
  StrDispose(AData);
} 

Powyższy kod przechwytuje dane z Internet Explorera, aby przechwycić dane należy w funkcji SetLink zamienić iexplore na netscape.

ps. pobrane z serwisu "Borland C++ Builder (nie tylko) dla początkujących", który już chyba nie istnieje

7 komentarzy

DdeClientConv1.SetLink('iexplore', 'WWW_GetWindowInfo');
Label1.Caption:= DdeClientConv1.RequestData('0xFFFFFFFF, sURL, sTitle');

ehhh to walić na forum :D

tamten sposób nie działa na najnowszej wersji ie o ile pamiętam

Jeślo chodzi o przelozenie na Delphi to tylko troche popatrzec:
http://4programmers.net/faq.php/id=180

A po co to StrDispose?

Nie jestem do końca pewien

procedure TForm1.Timer1OnTimer(TObject *Sender);
begin
  DdeClientConv1.SetLink('iexplore', 'WWW_GetWindowInfo');
  Label1.Caption := DdeClientConv1.RequestData('0xFFFFFFFF, sURL, sTitle');
  StrDispose(AData);
end;

pisane z głowy...

może ktoś to przełożyć na delphi ?? :)